home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / gfx / x11 / acm47_amiwin.lha / acm / README < prev   
Text File  |  2002-11-22  |  18KB  |  501 lines

  1. ACM Flight Simulator,  revision 4.6
  2.  
  3.  
  4. What is ACM?
  5. ------------
  6.  
  7. ACM is a LAN-oriented, multiplayer aerial combat simulation.  My main design
  8. objective was to provide source code that could be easily compiled and
  9. executed on a wide variety of platforms.  To that end, acm is written entirely
  10. in C, exploiting the programming features of Unix, X11, and the BSD socket
  11. interface.
  12.  
  13. Players engage in air to air combat against one another using heat seeking
  14. missiles and cannons.
  15.  
  16. ACM is implemented as two programs.  The first, named "acm", is a small
  17. program that, when invoked, starts a flight session on a given workstation.
  18. The second component, named "acms", is a server process that manages the
  19. multiplayer environment.  It also manages the flight simulation and
  20. display management that is required.  Most players will prefer to run the
  21. acms process on a back-end server system on their local area network.  Players
  22. at client workstations can then invoke the acm program to begin play.
  23.  
  24.  
  25. Riley Rainey (rainey@netcom.com OR riley@atria.com)
  26. Dallas, Texas
  27. November 20, 1994
  28.  
  29.  
  30. Building ACM:
  31. -------------
  32.  
  33. ACM has been reworked to be built with the help of `configure'.
  34. To build ACM, type:
  35.  
  36.     $ ./configure
  37.     $ make
  38.  
  39. On systems where X11 is installed in an unusual location, configure may have
  40. trouble locating the X include files and libraries (you'll know that
  41. because the compiler will complain that it can't find files like "X11/X.h").
  42. If this problem crops up, you can help configure to set up the
  43. Makefiles by telling it where to find X11:
  44.  
  45.     $ x_includes=/usr/myX11/include; export x_includes
  46.     $ x_libraries=/usr/myX11/lib; export x_libraries
  47.     $ ./configure
  48.     $ make
  49.  
  50. By default, configure will compile ACM using gcc if gcc is found in your PATH
  51. environment variable.  Some combinations of gcc and OS platforms have problems
  52. with ACM (gcc 2.2.2 seems to have problems on SunOS and HP-UX, for example).
  53. You can override configure's selection of gcc:
  54.  
  55.     $ CC=cc; export CC
  56.     $ ./configure
  57.     $ make
  58.  
  59. ACM can then be executed by typing:
  60.  
  61.     $ cd src; acm
  62.  
  63. When you are ready to install ACM on your system:
  64.  
  65.     # make install
  66.  
  67.  
  68. ODD FLIGHT BEHAVIOR (AND CORE DUMPS):
  69.  
  70. On slower or heavily loaded systems, you may experience odd
  71. accelerations (say, to Mach 6 or more) or other strange behavior (such as
  72. uncontrollable "porpoising").  Acms may even dump core in this situation.
  73. To avoid this, you can recompile ACM without the "real-time deltaT" extensions
  74. and avoid the problem:
  75.  
  76.     $ REAL_DELTA_T=no; export REAL_DELTA_T
  77.     $ ./configure
  78.     $ make clean
  79.     $ make
  80.  
  81.  
  82. IMPORTANT NOTE REGARDING IMAKE:
  83.  
  84. Imakefiles have been kept for historical reasons.  xmkmf should be used only
  85. As a last resort in the case that `configure' fails to work properly.
  86.  
  87.  
  88. What's different with revision 4.7:
  89. -----------------------------------
  90.  
  91. A problem with V library 3-D to 2-D mapping has been fixed.
  92.  
  93. A problem with the V library could cause this esoteric error message on some
  94. X servers:
  95.     
  96.     BadPixmap (invalid Pixmap parameter)
  97.  
  98. The fix to this problem was identified by Brent Holland.
  99.  
  100.  
  101. What's different with revision 4.6:
  102. -----------------------------------
  103.  
  104. Sound support has been added for many HP platforms.  Philippe-Andre Prindeville
  105. made the changes required for ACM to function with the HP-UX audio API.
  106. Configure no longer assumes that the NCD netaudio library is the only only one
  107. named "libaudio.a".
  108.  
  109. Cloud layers can now be used to affect combat conditions.  A single cloud
  110. top/base can be set.  This solid cloud layer is opaque to IR emissions, so
  111. you will have a hard time shooting down an opponent who is on the other side
  112. of the clouds.  The default cloud base is 2800 feet, tops at 6200 feet.
  113. It is not currently possible to "turn-off" clouds.
  114.  
  115. Portability problems with ACM's usage of the random number generators rand()
  116. and random() have been fixed.
  117.  
  118. A problem with architectures where a "long" is not the size of an "int" (DEC
  119. Alphas) has been fixed.
  120.  
  121.  
  122. What's different with revision 4.5:
  123. -----------------------------------
  124.  
  125. The HUD compass and HSI were pointing to true north rather than to magnetic
  126. north.  This has been fixed.  The magnetic variation has been set to
  127. eight degrees east (it can be changed in navaid.c).  This means that the
  128. 18-36 runways at both team's airfields are actually 17-35 runways; the runway
  129. heading for the ILS 17 approach at team one's airfield is 172 degrees;  the
  130. runway heading for the ILS 36 approach at team two's airfield is 352 degrees.
  131.  
  132. A field has been added to the navaid description structure to account for
  133. the fact that ILS localizers have a variable beam width (three to six degrees
  134. according to the FAA Airman's Information Manual).  The two ILS approaches
  135. have been adjusted so that their beam widths are 700 feet wide at the runway
  136. threshold (per the standard).
  137.  
  138. Porting problems with Solaris 2.3 and DEC Alpha OSF/1 have been fixed.
  139. Thanks to Bill Davidson, Peter Asenstorfer, and S.Y. Ni.
  140.  
  141. A problem in the VOR TO/FROM logic was pointed out by Jeff Westbrook and has
  142. been fixed.
  143.  
  144. A problem with monochrome support was fixed by Jeff Westbrook.
  145.  
  146. ACM's configuration facility was rebuilt using autoconf 1.9.
  147.  
  148.  
  149. What's different with revision 4.4:
  150. -----------------------------------
  151.  
  152. This is essentially a patch release for 4.3.
  153.  
  154. Simple visual depth cueing has been added to ACM.  Depth cueing is only
  155. activated on color or grey-scale screens that have at least 8 bit planes.
  156. Visibility can be set using the "-visibility" switch on the acms command
  157. line.  It produces interesting, if slow, results when used with any of the
  158. Hawaiian Island scenes.  I intend to improve the performance and visual
  159. fidelity of this feature.
  160.  
  161. A bug in the depth cueing color blending code has been fixed.
  162.  
  163. Fixes to src/makefile.in and V/lib/Makefile.in have been applied.  A
  164. "make depend" target has been added.
  165.  
  166.  
  167. What's different with revision 4.3:
  168. -----------------------------------
  169.  
  170. Drones will now maneuver and attempt to attack you with missiles.
  171. The original inspiration and code changes were supplied by 
  172. Jason Nyberg (nyberg@ctron.com).  The drone tracking method was modified 
  173. and the missile launch logic was created by Riley Rainey.
  174.  
  175. A bug in the AIM-9 time-to-target HUD calculation was fixed.
  176.  
  177. Support for NCD's netaudio software has been added.  The NCD netaudio software
  178. is free and available in source form via anonymous ftp from ftp.x.org.
  179.  
  180. Netaudio 1.1 does not allow the user to switch the audio output port on
  181. a Sun IPX (an IPX has both an internal speaker and an external jack for
  182. headphones or separate speakers).  You can switch ports by using the SunOS
  183. /usr/demo/SOUND/x_soundtool before executing acms.
  184.  
  185. The scene file format has been modified slightly.  The third line is
  186. now the color to be used for the "ground".
  187.  
  188. The kauai-scene, oahu-scene and maui-scene files display environments
  189. around those Hawaiian islands.  Terrain elevation data was extracted from
  190. USGS one degree Digital Elevation Model (DEM) data files.  Because of the
  191. complexity of these scenes, rendering speed is unacceptably slow on all but
  192. the fastest contemporary workstations.
  193.  
  194. A bug in the V library backface clipping code was fixed by Tim Love.
  195.  
  196. A bug in the V library was resulting in oddly colored instrument panels at
  197. seemingly random times.  This has been fixed.
  198.  
  199. A problem with the landing gear parameters on the F-16 has been fixed.
  200.  
  201. Acms 4.2 core dumped on AIX systems.  This has been fixed.  Tom McConnell
  202. supplied the changes.
  203.  
  204.  
  205. What's different with revision 4.2:
  206. -----------------------------------
  207.  
  208. Several nits reported by CodeCenter have been repaired by Brad Bass.
  209.  
  210. Makefiles now use the $(MFLAGS) macro, where needed.
  211.  
  212.  
  213. What's different with revision 4.1:
  214. -----------------------------------
  215.  
  216. Ultrix and HP-UX make(1) was having problems with the $(MAKEFLAGS) directive in
  217. V/Makefile.in.  It has been removed.  It's removal should not affect the
  218. build process.
  219.  
  220. The Ultrix 4.3 shell was having problems with "./configure".  The problem
  221. has been fixed.
  222.  
  223. A problem in "./Makefile" that would cause a mis-identification of the
  224. default target has been fixed.
  225.  
  226. ClipPoly.c was unused in ACM 4, but has been updated so that it compiles.
  227.  
  228. A problem in inventory.c that was causing the nose-wheel steering mode to
  229. stay enabled at all times has been fixed.  This problem was pointed-out by
  230.       _
  231. Mats Lofkvist (d87-mal@nada.kth.se).
  232.  
  233.  
  234. What's different with revision 4.0:
  235. -----------------------------------
  236.  
  237. Combat Simulation
  238. -----------------
  239.  
  240. Mig-29's are now the default team two plane.
  241.  
  242. The HUD display has been improved.
  243.  
  244. A bug in the missile tracking algorithm that would induce misses when the
  245. target was moving at a high speed has been fixed.
  246.  
  247. Two chase-plane view methods have been added. The 'N' key now displays a very
  248. primitive chase plane view. Tetsuji Rai (tetsuji@rai.juice.or.jp or
  249. 74610.1537@compuserve.com) has added a much more sophisticated version that
  250. has been enhanced by the author.  You can start a separate chase plane window
  251. by entering this command:
  252.  
  253.     % acm -chase <player-id>
  254.  
  255. The player-id's for all active ACM players can be retrieved using:
  256.  
  257.     % acm -list
  258.  
  259. The keypad controls the aspect of the view: (2) front, (8) rear, (4) right,
  260. (6) left. To remember these, simply imagine wanting to look that direction
  261. and see the chased aircraft.  The (J) key moves you closer to the aircraft,
  262. (K) moves you farther away.
  263.  
  264. You can always chase a plane that is owned by you.  You can only chase others
  265. when the acms server is started with the "-c" flag:
  266.  
  267.     % acms -c &
  268.  
  269. ACM now supports situation recording and playback.  The "{" key will start
  270. recording, the "}" key ends it.  The positions of all aircraft existing
  271. during the recording period will be saved in the file "./back_box_output".
  272. That file can be played back by moving it to the file "./black_box_input".
  273. Activate the playback by pressing the "[" key while you're in ACM.
  274.  
  275. DME, VOR's, Localizers, and Glide Slopes have been added.  An HSI has been
  276. added to provide VOR and ILS readouts.  
  277.  
  278. Two experimental navaids have been programmed in:
  279.  
  280.     A VOR/DME facility located southeast of the team 1's airport(109.0 MHz).
  281.  
  282.     An ILS system for runway 17 at team 1's airport (110.0 MHz).  The
  283.     runway heading is 172 degrees.
  284.  
  285. To activate the HSI, press the 'R' key.  Each press of the 'R' key cycles
  286. through RADAR -> HSI -> RADAR STANDBY.  The Omni Bearing Selector is moved
  287. 20 degrees with the '7' key, and one degree with the '8' key.  The '9' key
  288. increases the NAV frequency by 1 MHz, the '0' key increases it by 0.05 MHz.
  289. The selected frequency is displayed at the lower right-hand section of the HSI.
  290.  
  291. If you want to shoot an ILS approach, I suggest the following settings:
  292.  
  293. LEVEL FLIGHT:
  294.     power    45 %RPM
  295.     flaps    20
  296.     gear    up
  297.     speed brake  deployed as needed
  298.     speed    ~ 150 kts
  299.  
  300. ON GLIDE SLOPE:
  301.     power    35 %RPM
  302.     flaps    20
  303.     gear    down
  304.     speed brake  retracted
  305.     speed    140-150 kts
  306.     AOA    10-11 degrees
  307.  
  308. When you shoot the ILS 17 approach, don't forget to set the OBS dial to
  309. the runway heading (172 degrees).  Otherwise, you'll get a very
  310. confusing picture of which way to fly.
  311. This approach configuration gives you a good opportunity to practice
  312. soft landings.
  313.  
  314.  
  315. Flight Simulation
  316. -----------------
  317.  
  318. Engine response is no longer instantaneous.  Engine RPM (power) will
  319. increase and decrease gradually to a newly selected setting.
  320.  
  321. The aircraft simulation model has been changed substantially.  Tim Tessin
  322. uncovered a bug in pm.c that was substantially degrading the performance
  323. of all aircraft in high angle of attack situations. It's been fixed.
  324.  
  325. Several problems with the lift-curve determination have been fixed.
  326. The lift coefficient is now determined by interpolation.  The lift contribution
  327. of flaps has been modified to be more consistent with reality.
  328.  
  329. Aircraft control surface effectiveness has been increased substantially.
  330. I believe that this increase in consistent with a more realistic simulation.
  331.  
  332. ACM now models aircraft motion on the ground more accurately.  ACM actually
  333. models the spring and motion damping effects of the landing gear struts, as
  334. well as the contribution of ground friction by the wheels.
  335.  
  336. A problem with the roll dynamics of the flight simulation model pointed out
  337. by Tim Tessin has been fixed.  The roll model (no pun intended) has been
  338. substantially re-worked to be able to use standard NACA stability
  339. derivatives to describe aircraft roll performance.
  340.  
  341. The pitch and yaw dynamics have been modified to use NACA derivatives.
  342.  
  343. The outside view has been modified.
  344.  
  345. The F-16 flight model has been modified to be more well behaved; lateral 
  346. and longitudinal motion damping coefficients have been increased.
  347.  
  348.  
  349. The Graphics
  350. ------------
  351.  
  352. The graphics have been re-vamped to be much faster on color workstations.
  353. Monochrome graphics are slower.
  354.  
  355. Object clipping has been improved in the V library to improve rendering
  356. performance.
  357.  
  358.  
  359.  
  360. The Guts of ACM
  361. ---------------
  362.  
  363. ACM now participates in the X11 WM_CLOSEDOWN and WM_DELETE_WINDOW protocols.
  364.  
  365. The directory structure has been modified to get the object description
  366. files out of the source directory.  Object files now all have a '.obj'
  367. extension.  The 'make install' target has been improved.
  368.  
  369. Aircraft descriptions are now defined in the file "objects/inventory".
  370.  
  371. Terrain layout is now described using a "scene" file.  Acms accepts a
  372. "-s scene-file-name" command line option. The file "default-scene" describes
  373. the default layout.
  374.  
  375. A periodic alarm facility has been added in the guts of ACM.  See alarm.[hc]
  376. for details.  An example of its use can be found in navaid.c; it is used
  377. to periodically update DME readouts on all aircraft.  It is designed to be
  378. compatible with variants of ACM that modify deltaT on the fly.
  379.  
  380. The radar display has been modified to be more closely coupled to the V
  381. library.  This code was borrowed from the ACM 4.0 version.
  382.  
  383. If no geometry specification is supplied, the ACM server now computes a
  384. reasonable window geometry based on the screen's width.
  385.  
  386. Keypad view selection has been added for Sun systems with some help from
  387. Keith Fredericks (keith@cray.com).
  388.  
  389.  
  390.  
  391. What's different with revision 2.4:
  392. -----------------------------------
  393.  
  394. Missiles now use a more realistic target tracking method, known as proportional
  395. navigation guidance.
  396.  
  397. Sustained aircraft load factors at high speeds are now limited to a range of
  398. about +10.0 to -4.0 gees.
  399.  
  400. More math portability problems have been worked-around.  src/manifest.h
  401. contains the definition NEEDS_COPYSIGN.  You may comment this out if your
  402. system supports the IEEE copysign function.
  403.  
  404. This revision has been tested with X11R5.
  405.  
  406.  
  407. What's different with revision 2.3:
  408. -----------------------------------
  409.  
  410. This revision repairs several portability problems uncovered in revision 2.2.
  411.  
  412. A problem with IEEE math in interpolate.c has been worked-around.  Invalid
  413. interpolation requests (which shouldn't happen in ACM) will now result in
  414. messages being printed to standard error.
  415.  
  416. Several debugging code fragments are now only conditionally compiled. See
  417. manifest.h for more information.
  418.  
  419. A problem controlling aircraft resupply could generate unexpected errors
  420. from a system's sqrt function ("sqrt: domain error", for example). It has been
  421. fixed.
  422.  
  423.  
  424. What's different with revision 2.2:
  425. -----------------------------------
  426.  
  427. Explosions now appear in the skies of ACM.  Explosions will appear when an
  428. aircraft is struck by a missile or cannon shell.  Players go out with a
  429. bang, too.
  430.  
  431. The flight simulation model has been tweaked to allow for spins.  I don't
  432. think you can really spin an F-16, but if you'd like to try it in ACM, do
  433. this: build up some airspeed in level flight and then go vertical (pitch
  434. up to ninety degrees, or thereabouts).  Cut the throttle and afterburner
  435. and keep the nose pointed vertically.  Eventually, the F-16 will begin to
  436. fall back to earth -- and typically enter a spin.  The only recovery 
  437. procedure that I've tried that works is to apply full forward (down)
  438. elevator to break the stall; then re-apply power.
  439.  
  440. Elevator trim has been added.  The (J) key sets to the elevator trim to
  441. be equal to the current elevator setting.  The (U) key resets it to the
  442. normal takeoff setting.  Typically, you'll get the aircraft into the
  443. pitch configuration that you want (e.g. level flight) and then press the
  444. (J) key -- then move the elevator control to the neutral position
  445. (the center of the HUD).
  446.  
  447. Aircraft now have functioning landing gear.  The (G) key acts as the landing
  448. gear handle.  A landing gear handle and status lights are located to the right
  449. of the radar set.
  450.  
  451. Each aircraft now carries a limited number of air-to-air missiles (eight, to
  452. be precise). 
  453.  
  454. Aircraft can now be re-armed and re-fueled on the ground.
  455. To do this, a player must land successfully at the team's home airfield
  456. and come to a complete stop.  After an interval of not greater than 30
  457. seconds, the aircraft will be completely re-armed and refueled.  Aircraft
  458. damage is repaired, as well.
  459.  
  460. Acm's reaction to the resizing of its window has been improved substantially.
  461.  
  462. The code handling the HUD altitude, airspeed, and heading ladders has been
  463. improved.
  464.  
  465. A problem with acms dumping core when it cannot access the graphics
  466. description files has been fixed.  Thanks go to Mark Moraes.
  467.  
  468. Acm now makes an effort to select an appropriate X Visual to run in.  These
  469. changes are based on code supplied by Mark Hall.
  470.  
  471. A problem with unwanted NoExpose events on monochrome displays was fixed
  472. by Georges Lauri.
  473.  
  474. Acm's usage of the X DISPLAY environment variable has been improved with the
  475. help of some code from Michael Pall.  Now systems where the ACM server is
  476. running on the same system as the X server can get "unix:*" and "local:*"
  477. connections.
  478.  
  479.  
  480. GENERAL NOTES
  481. -------------
  482.  
  483. This software is divided into two major parts: the 3-D graphics routines
  484. and the flight simulator itself.  The 3-D stuff is contained in the V
  485. directory.  V/lib holds the library itself.  V/test contains a program
  486. that can be used to test your port of the V library.
  487.  
  488. `src' contains the remainder of the flight simulator.
  489.  
  490. Comments and suggestions to improve this software are welcome.
  491.  
  492. Several "features" in this revision of the software:
  493.  
  494.     * flaps and landing gear can be lowered at rediculously high speeds.
  495.  
  496.     * you can fly through mountains.
  497.  
  498.     * engines do not flame-out.
  499.  
  500. README: patchlevel-4.5
  501.